import 'dart:io';

class IpUtils {
  /// 获取本地局域网 IPv4 地址（如 192.168.xxx.xxx）
  static Future<String?> getLocalIpAddress() async {
    final ip = StringBuffer();
    try {
      // 遍历所有网络接口
      for (var interface in await NetworkInterface.list()) {
        // 检查每个接口的地址
        for (var addr in interface.addresses) {
          ip.write('[${interface.name}]：${addr.address}\t\t\t');
          print('接口: ${interface.name}, 地址: ${addr.address}, 类型: ${addr.type}');
        }
      }
      return ip.toString();
    } catch (e) {
      ip.write('获取 IP 地址失败: $e');
      print('获取 IP 地址失败: $e');
      return ip.toString();
    }
  }
}
